<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS选择器</title>
    <style>
        /*标签选择器*/
        h4 {
            color: red;
        }

        div {
            width: 100px;
            height: 100px;
            background-color: aqua;
        }

        /*类选择器*/
        .error {
            background-color: orangered;
        }

        .success {
            background-color: lightgreen;
        }

        .msg {
            color: white;
        }

        /*伪类选择器：选中元素的悬停状态*/
        /*紧挨着写是与的关系，必须满足所有条件才生效*/
        #d2:hover {
            background-color: yellow;
        }

        /*伪类选择器  下面4个顺序固定*/
        a:link {/*超链接未被访问过的状态*/
            color: blue;
        }
        a:visited {/*超链接已经被访问过的状态*/
            color: green;
        }
        a:hover {/*元素悬停时的状态*/
            color: red;
        }
        a:active {/*超链接激活时的状态*/
            color: yellow;
        }

        /*群组选择器，逗号隔开，是或的关系，只要满足其中一个即可*/
        #d2, h4, .error {
            text-decoration: underline;
        }

        /*id选择器*/
        #d2 {
            color: blue;
        }

        /*通配符选择器:选中所有的元素*/
        * {
            font-style: italic;
        }

        /*属性选择器: 选择所有type属性为text的元素*/
        input[type="text"] {
            background-color: lightblue;
        }

        /*后代选择器    关系型选择器*/
        div span {
            color: red;
        }
        /*直接子代选择器*/
        #d1>div > span {
            color: blue;
        }
    </style>
</head>
<body>
<div id="d1">
    <span>我是span1</span>
    <div>
        <span>我是span2</span>
        <b>测试文字</b>
        <p>我是<span>测试</span>段落</p>
    </div>
    <span>我是span3</span>
</div>

<hr>
<a href="https://www.baidu.com">打开百度</a>
<a href="aaa">打开百度</a>

<hr>
<input type="text">
<input type="password">

<hr>
<h4>我是标题</h4>
<p>我是段落</p>
<a href="https://www.baidu.com">我是超链接</a>
<h4 id="d2">我是标题2</h4>
<div>我是div1</div>
<div>我是div2</div>
<div>我是div3</div>
<hr>

<span class="error msg">用户名被占用</span>
<span class="error msg">密码长度错误</span>
<span class="error msg">手机号格式错误</span>
<br>
<span class="success msg">用户名可以使用</span>
<span class="success msg">密码正确</span>
<span class="success msg">手机号可以使用</span>
</body>
</html>